home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Terminals.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  12.4 KB  |  380 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Terminals.p
  3.  
  4.      Contains:    Communications Toolbox Terminal tool Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1988-1998, 1995-1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT Terminals;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __TERMINALS__}
  27. {$SETC __TERMINALS__ := 1}
  28.  
  29. {$I+}
  30. {$SETC TerminalsIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __CONDITIONALMACROS__}
  34. {$I ConditionalMacros.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __DIALOGS__}
  37. {$I Dialogs.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __CTBUTILITIES__}
  40. {$I CTBUtilities.p}
  41. {$ENDC}
  42. {$IFC UNDEFINED __CONNECTIONS__}
  43. {$I Connections.p}
  44. {$ENDC}
  45.  
  46.  
  47. {$PUSH}
  48. {$ALIGN MAC68K}
  49. {$LibExport+}
  50.  
  51.  
  52. CONST
  53.     curTMVersion                = 2;                            {  current Terminal Manager version  }
  54.  
  55.     curTermEnvRecVers            = 0;                            {  current Terminal Manager Environment Record version  }
  56.  
  57.                                                                 {  error codes     }
  58.     tmGenericError                = -1;
  59.     tmNoErr                        = 0;
  60.     tmNotSent                    = 1;
  61.     tmEnvironsChanged            = 2;
  62.     tmNotSupported                = 7;
  63.     tmNoTools                    = 8;
  64.  
  65.  
  66. TYPE
  67.     TMErr                                = OSErr;
  68.  
  69. CONST
  70.     tmInvisible                    = $01;
  71.     tmSaveBeforeClear            = $02;
  72.     tmNoMenus                    = $04;
  73.     tmAutoScroll                = $08;
  74.     tmConfigChanged                = $10;
  75.  
  76.  
  77. TYPE
  78.     TMFlags                                = UInt32;
  79.  
  80. CONST
  81.     selTextNormal                = $01;
  82.     selTextBoxed                = $02;
  83.     selGraphicsMarquee            = $04;
  84.     selGraphicsLasso            = $08;
  85.     tmSearchNoDiacrit            = $0100;
  86.     tmSearchNoCase                = $0200;
  87.  
  88.  
  89. TYPE
  90.     TMSearchTypes                        = UInt16;
  91.     TMSelTypes                            = INTEGER;
  92.  
  93. CONST
  94.     cursorText                    = 1;
  95.     cursorGraphics                = 2;
  96.  
  97.  
  98. TYPE
  99.     TMCursorTypes                        = UInt16;
  100.  
  101. CONST
  102.     tmTextTerminal                = $01;
  103.     tmGraphicsTerminal            = $02;
  104.  
  105.  
  106. TYPE
  107.     TMTermTypes                            = UInt16;
  108.     TermDataBlockPtr = ^TermDataBlock;
  109.     TermDataBlock = RECORD
  110.         flags:                    TMTermTypes;
  111.         theData:                Handle;
  112.         auxData:                Handle;
  113.         reserved:                LONGINT;
  114.     END;
  115.  
  116.     TermDataBlockH                        = ^TermDataBlockPtr;
  117.     TermDataBlockHandle                    = ^TermDataBlockPtr;
  118.     TermEnvironRecPtr = ^TermEnvironRec;
  119.     TermEnvironRec = RECORD
  120.         version:                INTEGER;
  121.         termType:                TMTermTypes;
  122.         textRows:                INTEGER;
  123.         textCols:                INTEGER;
  124.         cellSize:                Point;
  125.         graphicSize:            Rect;
  126.         slop:                    Point;
  127.         auxSpace:                Rect;
  128.     END;
  129.  
  130.     TermEnvironPtr                        = ^TermEnvironRec;
  131.     TMSelectionPtr = ^TMSelection;
  132.     TMSelection = RECORD
  133.         CASE INTEGER OF
  134.         0: (
  135.             selRect:            Rect;
  136.             );
  137.         1: (
  138.             selRgnHandle:        RgnHandle;
  139.             );
  140.     END;
  141.  
  142.     TermRecordPtr = ^TermRecord;
  143.     TermPtr                                = ^TermRecord;
  144.     TermHandle                            = ^TermPtr;
  145. {$IFC TYPED_FUNCTION_POINTERS}
  146.     TerminalSendProcPtr = FUNCTION(thePtr: Ptr; theSize: LONGINT; refCon: LONGINT; flags: CMFlags): LONGINT;
  147. {$ELSEC}
  148.     TerminalSendProcPtr = ProcPtr;
  149. {$ENDC}
  150.  
  151. {$IFC TYPED_FUNCTION_POINTERS}
  152.     TerminalBreakProcPtr = PROCEDURE(duration: LONGINT; refCon: LONGINT);
  153. {$ELSEC}
  154.     TerminalBreakProcPtr = ProcPtr;
  155. {$ENDC}
  156.  
  157. {$IFC TYPED_FUNCTION_POINTERS}
  158.     TerminalCacheProcPtr = FUNCTION(refCon: LONGINT; theTermData: TermDataBlockPtr): LONGINT;
  159. {$ELSEC}
  160.     TerminalCacheProcPtr = ProcPtr;
  161. {$ENDC}
  162.  
  163. {$IFC TYPED_FUNCTION_POINTERS}
  164.     TerminalSearchCallBackProcPtr = PROCEDURE(hTerm: TermHandle; refNum: INTEGER; VAR foundRect: Rect);
  165. {$ELSEC}
  166.     TerminalSearchCallBackProcPtr = ProcPtr;
  167. {$ENDC}
  168.  
  169. {$IFC TYPED_FUNCTION_POINTERS}
  170.     TerminalClikLoopProcPtr = FUNCTION(refCon: LONGINT): BOOLEAN;
  171. {$ELSEC}
  172.     TerminalClikLoopProcPtr = ProcPtr;
  173. {$ENDC}
  174.  
  175. {$IFC TYPED_FUNCTION_POINTERS}
  176.     TerminalEnvironsProcPtr = FUNCTION(refCon: LONGINT; VAR theEnvirons: ConnEnvironRec): CMErr;
  177. {$ELSEC}
  178.     TerminalEnvironsProcPtr = ProcPtr;
  179. {$ENDC}
  180.  
  181. {$IFC TYPED_FUNCTION_POINTERS}
  182.     TerminalChooseIdleProcPtr = PROCEDURE;
  183. {$ELSEC}
  184.     TerminalChooseIdleProcPtr = ProcPtr;
  185. {$ENDC}
  186.  
  187. {$IFC TYPED_FUNCTION_POINTERS}
  188.     TerminalToolDefProcPtr = FUNCTION(hTerm: TermHandle; msg: INTEGER; p1: LONGINT; p2: LONGINT; p3: LONGINT): LONGINT;
  189. {$ELSEC}
  190.     TerminalToolDefProcPtr = ProcPtr;
  191. {$ENDC}
  192.  
  193.     TerminalSendUPP = UniversalProcPtr;
  194.     TerminalBreakUPP = UniversalProcPtr;
  195.     TerminalCacheUPP = UniversalProcPtr;
  196.     TerminalSearchCallBackUPP = UniversalProcPtr;
  197.     TerminalClikLoopUPP = UniversalProcPtr;
  198.     TerminalEnvironsUPP = UniversalProcPtr;
  199.     TerminalChooseIdleUPP = UniversalProcPtr;
  200.     TerminalToolDefUPP = UniversalProcPtr;
  201. {    TMTermTypes     }
  202.     TermRecord = RECORD
  203.         procID:                    INTEGER;
  204.         flags:                    TMFlags;
  205.         errCode:                TMErr;
  206.         refCon:                    LONGINT;
  207.         userData:                LONGINT;
  208.         defProc:                TerminalToolDefUPP;
  209.         config:                    Ptr;
  210.         oldConfig:                Ptr;
  211.         environsProc:            TerminalEnvironsUPP;
  212.         reserved1:                LONGINT;
  213.         reserved2:                LONGINT;
  214.         tmPrivate:                Ptr;
  215.         sendProc:                TerminalSendUPP;
  216.         breakProc:                TerminalBreakUPP;
  217.         cacheProc:                TerminalCacheUPP;
  218.         clikLoop:                TerminalClikLoopUPP;
  219.         owner:                    WindowPtr;
  220.         termRect:                Rect;
  221.         viewRect:                Rect;
  222.         visRect:                Rect;
  223.         lastIdle:                LONGINT;
  224.         selection:                TMSelection;
  225.         selType:                TMSelTypes;
  226.         mluField:                LONGINT;
  227.     END;
  228.  
  229.  
  230. CONST
  231.     uppTerminalSendProcInfo = $00002FF0;
  232.     uppTerminalBreakProcInfo = $000003C0;
  233.     uppTerminalCacheProcInfo = $000003F0;
  234.     uppTerminalSearchCallBackProcInfo = $00000EC0;
  235.     uppTerminalClikLoopProcInfo = $000000D0;
  236.     uppTerminalEnvironsProcInfo = $000003E0;
  237.     uppTerminalChooseIdleProcInfo = $00000000;
  238.     uppTerminalToolDefProcInfo = $0000FEF0;
  239.  
  240. FUNCTION NewTerminalSendProc(userRoutine: TerminalSendProcPtr): TerminalSendUPP;
  241.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  242.     INLINE $2E9F;
  243.     {$ENDC}
  244.  
  245. FUNCTION NewTerminalBreakProc(userRoutine: TerminalBreakProcPtr): TerminalBreakUPP;
  246.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  247.     INLINE $2E9F;
  248.     {$ENDC}
  249.  
  250. FUNCTION NewTerminalCacheProc(userRoutine: TerminalCacheProcPtr): TerminalCacheUPP;
  251.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  252.     INLINE $2E9F;
  253.     {$ENDC}
  254.  
  255. FUNCTION NewTerminalSearchCallBackProc(userRoutine: TerminalSearchCallBackProcPtr): TerminalSearchCallBackUPP;
  256.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  257.     INLINE $2E9F;
  258.     {$ENDC}
  259.  
  260. FUNCTION NewTerminalClikLoopProc(userRoutine: TerminalClikLoopProcPtr): TerminalClikLoopUPP;
  261.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  262.     INLINE $2E9F;
  263.     {$ENDC}
  264.  
  265. FUNCTION NewTerminalEnvironsProc(userRoutine: TerminalEnvironsProcPtr): TerminalEnvironsUPP;
  266.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  267.     INLINE $2E9F;
  268.     {$ENDC}
  269.  
  270. FUNCTION NewTerminalChooseIdleProc(userRoutine: TerminalChooseIdleProcPtr): TerminalChooseIdleUPP;
  271.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  272.     INLINE $2E9F;
  273.     {$ENDC}
  274.  
  275. FUNCTION NewTerminalToolDefProc(userRoutine: TerminalToolDefProcPtr): TerminalToolDefUPP;
  276.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  277.     INLINE $2E9F;
  278.     {$ENDC}
  279.  
  280. FUNCTION CallTerminalSendProc(thePtr: Ptr; theSize: LONGINT; refCon: LONGINT; flags: CMFlags; userRoutine: TerminalSendUPP): LONGINT;
  281.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  282.     INLINE $205F, $4E90;
  283.     {$ENDC}
  284.  
  285. PROCEDURE CallTerminalBreakProc(duration: LONGINT; refCon: LONGINT; userRoutine: TerminalBreakUPP);
  286.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  287.     INLINE $205F, $4E90;
  288.     {$ENDC}
  289.  
  290. FUNCTION CallTerminalCacheProc(refCon: LONGINT; theTermData: TermDataBlockPtr; userRoutine: TerminalCacheUPP): LONGINT;
  291.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  292.     INLINE $205F, $4E90;
  293.     {$ENDC}
  294.  
  295. PROCEDURE CallTerminalSearchCallBackProc(hTerm: TermHandle; refNum: INTEGER; VAR foundRect: Rect; userRoutine: TerminalSearchCallBackUPP);
  296.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  297.     INLINE $205F, $4E90;
  298.     {$ENDC}
  299.  
  300. FUNCTION CallTerminalClikLoopProc(refCon: LONGINT; userRoutine: TerminalClikLoopUPP): BOOLEAN;
  301.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  302.     INLINE $205F, $4E90;
  303.     {$ENDC}
  304.  
  305. FUNCTION CallTerminalEnvironsProc(refCon: LONGINT; VAR theEnvirons: ConnEnvironRec; userRoutine: TerminalEnvironsUPP): CMErr;
  306.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  307.     INLINE $205F, $4E90;
  308.     {$ENDC}
  309.  
  310. PROCEDURE CallTerminalChooseIdleProc(userRoutine: TerminalChooseIdleUPP);
  311.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  312.     INLINE $205F, $4E90;
  313.     {$ENDC}
  314.  
  315. FUNCTION CallTerminalToolDefProc(hTerm: TermHandle; msg: INTEGER; p1: LONGINT; p2: LONGINT; p3: LONGINT; userRoutine: TerminalToolDefUPP): LONGINT;
  316.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  317.     INLINE $205F, $4E90;
  318.     {$ENDC}
  319.  
  320. FUNCTION InitTM: TMErr;
  321. FUNCTION TMGetVersion(hTerm: TermHandle): Handle;
  322. FUNCTION TMGetTMVersion: INTEGER;
  323. FUNCTION TMNew({CONST}VAR termRect: Rect; {CONST}VAR viewRect: Rect; flags: TMFlags; procID: INTEGER; owner: WindowPtr; sendProc: TerminalSendUPP; cacheProc: TerminalCacheUPP; breakProc: TerminalBreakUPP; clikLoop: TerminalClikLoopUPP; environsProc: TerminalEnvironsUPP; refCon: LONGINT; userData: LONGINT): TermHandle;
  324. PROCEDURE TMDispose(hTerm: TermHandle);
  325. PROCEDURE TMKey(hTerm: TermHandle; {CONST}VAR theEvent: EventRecord);
  326. PROCEDURE TMUpdate(hTerm: TermHandle; visRgn: RgnHandle);
  327. PROCEDURE TMPaint(hTerm: TermHandle; {CONST}VAR theTermData: TermDataBlock; {CONST}VAR theRect: Rect);
  328. PROCEDURE TMActivate(hTerm: TermHandle; activate: BOOLEAN);
  329. PROCEDURE TMResume(hTerm: TermHandle; resume: BOOLEAN);
  330. PROCEDURE TMClick(hTerm: TermHandle; {CONST}VAR theEvent: EventRecord);
  331. PROCEDURE TMIdle(hTerm: TermHandle);
  332. FUNCTION TMStream(hTerm: TermHandle; theBuffer: UNIV Ptr; theLength: LONGINT; flags: CMFlags): LONGINT;
  333. FUNCTION TMMenu(hTerm: TermHandle; menuID: INTEGER; item: INTEGER): BOOLEAN;
  334. PROCEDURE TMReset(hTerm: TermHandle);
  335. PROCEDURE TMClear(hTerm: TermHandle);
  336. PROCEDURE TMResize(hTerm: TermHandle; {CONST}VAR newViewRect: Rect);
  337. FUNCTION TMGetSelect(hTerm: TermHandle; theData: Handle; VAR theType: ResType): LONGINT;
  338. PROCEDURE TMGetLine(hTerm: TermHandle; lineNo: INTEGER; VAR theTermData: TermDataBlock);
  339. PROCEDURE TMSetSelection(hTerm: TermHandle; {CONST}VAR theSelection: TMSelection; selType: TMSelTypes);
  340. PROCEDURE TMScroll(hTerm: TermHandle; dh: INTEGER; dv: INTEGER);
  341. FUNCTION TMValidate(hTerm: TermHandle): BOOLEAN;
  342. PROCEDURE TMDefault(VAR theConfig: Ptr; procID: INTEGER; allocate: BOOLEAN);
  343. FUNCTION TMSetupPreflight(procID: INTEGER; VAR magicCookie: LONGINT): Handle;
  344. PROCEDURE TMSetupSetup(procID: INTEGER; theConfig: UNIV Ptr; count: INTEGER; theDialog: DialogPtr; VAR magicCookie: LONGINT);
  345. FUNCTION TMSetupFilter(procID: INTEGER; theConfig: UNIV Ptr; count: INTEGER; theDialog: DialogPtr; VAR theEvent: EventRecord; VAR theItem: INTEGER; VAR magicCookie: LONGINT): BOOLEAN;
  346. PROCEDURE TMSetupItem(procID: INTEGER; theConfig: UNIV Ptr; count: INTEGER; theDialog: DialogPtr; VAR theItem: INTEGER; VAR magicCookie: LONGINT);
  347. PROCEDURE TMSetupXCleanup(procID: INTEGER; theConfig: UNIV Ptr; count: INTEGER; theDialog: DialogPtr; OKed: BOOLEAN; VAR magicCookie: LONGINT);
  348. PROCEDURE TMSetupPostflight(procID: INTEGER);
  349. FUNCTION TMGetConfig(hTerm: TermHandle): Ptr;
  350. FUNCTION TMSetConfig(hTerm: TermHandle; thePtr: UNIV Ptr): INTEGER;
  351. FUNCTION TMIntlToEnglish(hTerm: TermHandle; inputPtr: UNIV Ptr; VAR outputPtr: Ptr; language: INTEGER): OSErr;
  352. FUNCTION TMEnglishToIntl(hTerm: TermHandle; inputPtr: UNIV Ptr; VAR outputPtr: Ptr; language: INTEGER): OSErr;
  353. PROCEDURE TMGetToolName(id: INTEGER; VAR name: Str255);
  354. FUNCTION TMGetProcID(name: Str255): INTEGER;
  355. PROCEDURE TMSetRefCon(hTerm: TermHandle; refCon: LONGINT);
  356. FUNCTION TMGetRefCon(hTerm: TermHandle): LONGINT;
  357. PROCEDURE TMSetUserData(hTerm: TermHandle; userData: LONGINT);
  358. FUNCTION TMGetUserData(hTerm: TermHandle): LONGINT;
  359. FUNCTION TMAddSearch(hTerm: TermHandle; theString: Str255; {CONST}VAR where: Rect; searchType: TMSearchTypes; callBack: TerminalSearchCallBackUPP): INTEGER;
  360. PROCEDURE TMRemoveSearch(hTerm: TermHandle; refnum: INTEGER);
  361. PROCEDURE TMClearSearch(hTerm: TermHandle);
  362. FUNCTION TMGetCursor(hTerm: TermHandle; cursType: TMCursorTypes): Point;
  363. FUNCTION TMGetTermEnvirons(hTerm: TermHandle; VAR theEnvirons: TermEnvironRec): TMErr;
  364. FUNCTION TMChoose(VAR hTerm: TermHandle; where: Point; idleProc: TerminalChooseIdleUPP): INTEGER;
  365. PROCEDURE TMEvent(hTerm: TermHandle; {CONST}VAR theEvent: EventRecord);
  366. FUNCTION TMDoTermKey(hTerm: TermHandle; theKey: Str255): BOOLEAN;
  367. FUNCTION TMCountTermKeys(hTerm: TermHandle): INTEGER;
  368. PROCEDURE TMGetIndTermKey(hTerm: TermHandle; id: INTEGER; VAR theKey: Str255);
  369. PROCEDURE TMGetErrorString(hTerm: TermHandle; id: INTEGER; VAR errMsg: Str255);
  370. {$ALIGN RESET}
  371. {$POP}
  372.  
  373. {$SETC UsingIncludes := TerminalsIncludes}
  374.  
  375. {$ENDC} {__TERMINALS__}
  376.  
  377. {$IFC NOT UsingIncludes}
  378.  END.
  379. {$ENDC}
  380.